package com.oop.demo06;

//import com.oop.demo03.Pet;
//import com.oop.demo04.Student;
//import com.oop.demo05.Person;
//import com.oop.demo05.Student;
//import com.oop.demo05.A;
//import com.oop.demo05.B;

import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;

//一个项目应该只有一个main方法
public class Application {

    public static void main(String[] args) {
        //类型之间的转化： 父    子

        //高                  低
        Person student = new Student();

        //student将这个对象转换为Student类型，我们就可以使用Student类型的方法了！
        //子类转换为父类，可能丢失自己本来的一些方法！
        Student student1 = (Student) student;
        student1.go();
        ((Student)student).go();

        Student stu = new Student();
        stu.go();

        Person person = stu;

    }

}

/*
    1.父类的引用指向子类的对象
    2.把子类转换为父类，向上转型；
    3.把父类转换为子类，向下转型； 强制转换
    4.方便方法的调用，减少重复的代码！简洁

抽象： 封装、继承、多态！  抽象类及接口
 */